// enemy.h

#ifndef ENEMY_H
#define ENEMY_H

//Stores the x,y location of an object.
struct pair{
  int x;
  int y;
};

class enemy
{
 protected:
  double moveSpeed; //Stores how often the object moves to a new location.
  double healthPoints; //Stores how many health points the object has. Once this becomes zero, the object is destroyed. 
  pair coordinates; //Stores the x,y location of an object.

 public:
  //Object's default constructor. Initializes all of the object's private variables.
  enemy();

  //Another constructor that initalizes baseMoveSpeed and baseHealthPoints with specific values.
  enemy(double baseMoveSpeed, double baseHealthPoints);

  //Setters and Getters

  //This funtion returns the move speed of the object.
  double getMoveSpeed();

  //This function takes a double and sets the moveSpeed variable to the double that was passed in. 
  void setMoveSpeed(double newSpeed);

  //This function returns the health points of the object. 
  double getHealthPoints();

  //This function takes a double and set the healthPoints variable to the double that was passed in. 
  void setHealthPoints(double newHealth);

  //This function returns the x,y pair location of the object.
  pair getCoordinates(); 

  //This function takes an x,y pair and changes the object's x,y location to the x,y pair that was passed in.
  void setCoordinates(int newX, int newY);

  //This function takes an integer value and changes the object's x location to the integer that was passed in.
  void setX(int newX);

  //This function takes an integer value and changes the object's y location to the integer that was passed in.
  void setY(int newY);

  //This is the object's destructor.
  ~enemy();
};
#endif

